]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
windowManager: X11 can work without gsd-xsettings
authorOlivier Fourdan <ofourdan@redhat.com>
Tue, 3 Mar 2020 12:14:23 +0000 (13:14 +0100)
committerFlorian Müllner <florian.muellner@gmail.com>
Fri, 6 Mar 2020 18:50:52 +0000 (18:50 +0000)
Currently, a failure to start the Systemd unit `gsd-xsettings.target`
would be considered a failure to start Xwayland.

That means that if `gsd-xsettings.target` fails to start for whatever
reason, no X11 client can be used on Wayland.

However, XSettings is by no mean mandatory for X11 clients and many
legacy X11 clients do not implement XSettings. Those who do always have
a fallback path and therefore can still work without XSettings.

Make a failure to start the Systemd unit `gsd-xsettings.target` non
blocking for Xwayland, and just log a warning message.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1065

js/ui/windowManager.js

index 9e15ba70a889b81a747966fe1910a0adeb5127f1..8f0e8943da974a37fc43e13247117f694ff06612 100644 (file)
@@ -903,7 +903,8 @@ var WindowManager = class {
             /* Leave this watchdog timeout so don't block indefinitely here */
             let timeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 5, () => {
                 Gio.DBus.session.unwatch_name(watchId);
-                task.return_boolean(false);
+                log('Warning: Failed to start gsd-xsettings');
+                task.return_boolean(true);
                 timeoutId = 0;
                 return GLib.SOURCE_REMOVE;
             });